package part7;

/**
 * @author wcj
 * @Date 2021/5/15 15:17
 * @Version 1.0
 */
public class Part75 {

    private String name;

    /**
     * 代理的方式：与组合相比，组合是在新类中注入一个类的对象；与继承相比，继承的导出类具备基类的所有域和方法
     * 代理的优势在于控制力更强，可以控制基类对外暴露方法的范围
     */
    private SpaceControllers spaceControllers = new SpaceControllers();

    public Part75(String name) {
        this.name = name;
    }

    public void forward() {
        spaceControllers.forward(100);
    }

    public static void main(String[] args) {
        Part75 part75 = new Part75("AMD");
        part75.forward();
    }
}

class SpaceControllers {

    public void forward(int length) {
        System.out.println("length=" + length);
    }
}
